The present disclosure relates to task mapping in dynamic systems.
Software plays a more and more crucial role in automotive systems in recent years. For instance, it is increasingly used to define automotive systems such as Advanced Driver Assistance Systems (ADAS), such as adaptive cruise control, lane keeping assist, and autonomous functions that provide the platform for software to define automotive systems. Compared with hardware components, software applications can, in some cases, be easier to install, update, and activate, leading to the realization of flexible plug-and-play automotive systems that can improve system safety and performance, enhance user experience, and make appropriate adaptions to obey traffic regulations.
However, traditional design methods, which statically map functional models to architectural platforms, such as ones proposed by Bate et al., Incorporating Scenarios and Heuristics to Improve Flexibility in Real-Time Embedded Systems, IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 221-230, April 2006 (“Bate”); Lin et al., Security-Aware Mapping for CAN-Based Real-Time Distributed Automotive Systems, IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pages 115-121, November 2013 (“Lin”); Metzner et al., RTSAT—An Optimal and Efficient Approach to the Task Allocation Problem in Distributed Architectures, IEEE International Real-Time Systems Symposium (RTSS), pages 147-158, December 2006 (“Metzner”); Zheng et al., Definition of Task Allocation and Priority Assignment in Hard Real-Time Distributed Systems, IEEE International Real-Time Systems Symposium (RTSS), pages 161-170, December 2007 (“Zheng”); and Zhu et al., Optimizing the Software Architecture for Extensibility in Hard Real-Time Distributed Systems, IEEE Transactions on Industrial Informatics, 6(4):621-636, November 2010 (“Zhu”), are incompatible with provide plug-and-play automotive systems, particularly in plug-and-play scenarios like installation, updating, and activation of software applications prior to purchase (e.g., at a dealership), before driving, and during driving.
For instance, traditional design methods, such as those described by Bate, Lin, Metzner, Zheng, and Zhu, which may involve mathematical programming, iteration-based optimization (e.g., simulated annealing), various searching efforts, are configured to solve mapping problems only during design stages and not during operation of the vehicle. The lengthy and computationally expensive runtimes of the mapping algorithms of these methods, for which there are typically no hard timing constraints, are designed for powerful computing units made available (e.g., in a laboratory) for solving the problems. The runtimes of these methods are not suitable for automobiles whose ECUs lack the capability needed to execute them while executing other critical driving operations (e.g., frequencies of most practical ECUs are often less than 100 MHz). In a plug-and-play scenario, efficient mapping algorithms are needed because the mapping results must be generated in real-time (without discernable lag) or serious consequences, even life-threatening, can result.
Further, the traditional design methods are generally not designed for incremental changes to certain applications while preserving other applications, but rather to change underlying systems as whole.